#ifndef DUMMYSEQUENSER_H
#define DUMMYSEQUENSER_H
#include "free-cube/aisequencer.h"

#include <QSharedPointer>
#include <QList>

class DummySequenser : public fc::AISequencer
{
public:
  DummySequenser();
  ~DummySequenser(){fc::log("DSEQ: ... quitting ");}
  void set_samplerate(int samplerate);
  fc::Tempo current_tempo();
  const fc::TimeSignature & signature();
  void set_clock(QSharedPointer<fc::AIClock>  clock);
  void set_size_to_process(fc::TimeT total_size);
  fc::TimeT process_frames();
  fc::TimeT current_time();

  bool is_cycling();
  void set_cycling(bool is_cycling);

  bool is_playing();
  void set_playing(bool is_playing);

  void jump_to_locator(int n);
  void jump_to_frame(fc::TimeT frame_n);
  void set_locator(int n, fc::TimeT frame_n);

private:
  int samplerate_;
  fc::Tempo current_tempo_;
  fc::TimeSignature signature_;
  QSharedPointer <fc::AIClock> clock_;
  QList <fc::Time> locators_;
  fc::TimeT size_to_process_;
  bool is_cycling_;
  bool is_playing_;
};

#endif // DUMMYSEQUENSER_H
